The present invention relates generally to conversation systems and relates more particularly to the interpretation of input by conversation systems.
Conversation systems allow a user to interact with or search a database of information by receiving and responding to user data requests. For example, a user may search real estate listings by presenting a conversation system with a query that is defined by one or more search criteria, such as “Show all houses in Scarsdale, N.Y. priced at $400,000 or less”. The conversation system then dissects this query and searches the database for results that meet the user's search criteria.
One common shortcoming of conventional conversation systems is limited interpretation capability. Due to limited vocabularies and grammars, typical conversation systems can experience difficulties in correctly interpreting even search criteria with unambiguous meanings, such as the city name “Scarsdale, N.Y.” or the price “$400,000 or less” in the example above. These difficulties are magnified when qualitative search criteria is provided by the user. For example, a typical conversation system would not be capable of interpreting the command “Show all houses in good school districts priced at $400,000 or less”, because the search criteria “good school districts” is not clearly defined (that is, the conversation system can not know what the user means by “good”).
Some conversation systems attempt to address this difficulty by simply recognizing or understanding a wider range of potential input expressions. However, algorithms for adapting these expanded vocabularies are still imperfect or unknown. Moreover, such an approach increases the cost and the computational complexity of the conversation system. The feasibility of this solution is therefore still limited.
Thus, there is a need in the art for a method and apparatus for robust input interpretation by conversation systems.